package com.yuan.springcloud.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuan.springcloud.user.bean.dto.UserInfoDTO;
import com.yuan.springcloud.user.bean.po.UserPO;
import com.yuan.springcloud.user.bean.vo.UserQueryVO;
import com.yuan.springcloud.user.bean.vo.UserSignVO;
import com.yuan.springcloud.user.bean.vo.UserVO;

import java.util.List;

/**
 * @author YouYuan
 * @date 2020/8/16 23:59
 */
public interface UserService {

    List<UserPO> queryAllUserList();

    int update(UserVO user);

    List<UserPO> queryUserListById(List<Integer> userIdList);

    IPage<UserPO> queryUserList(Page<?> page);

    List<UserPO> queryUserList(UserQueryVO queryParam);

    int queryUserCount();

    List<UserInfoDTO> queryUserInfoList();

    int login(Long userId);

    int logout(Long userId);

    List<Integer> queryOnlineList();

    Integer sign(UserSignVO userSignVO);
}
